23

» WarCraft 3 / Установка JNGP

Похожие вопросы:

ответ
Проблема решена установкой Вин x32 (не изящно, голову поломаю потом)
ответ
Вопрос не содержит вопроса.
ответ
Создаешь несколько одинаковых юнитов с разным типам брони и с ними работаешь. Иначе никак.
ответ
Врун. Ты даже не искал.
Первая ссылка в google: xgm.guru/p/wc3/242172

23

» WarCraft 3 / Помощь с анимациями

Похожие вопросы:

ответ
Собственно что мешает написать в тему нужна модель вам туда-сюда?
WarSC:
Создать анимацию(толковую) без знаний 3ДМакса практически невозможно, а тот кто прошареный в таких программах тебе помогать не будет...
Анимки уже давно все в майке делают) Ну так для справки.
ответ
easypeasy, Такое нужно убирать в вар3ME
ответ
Чтобы узнать кото ударили сплешем, оттолкнуть и уронить нужно:
  1. Отловить урон
  2. Оттолкнуть юнитов
  3. Воспроизвести анимацию по индексу
ответ
Есть способность специальная. Смотри у химер. Называется "Грозовая атака".

23

» WarCraft 3 / Артефакты с текстурами

Похожие вопросы:

ответ
Прикрепляю блп. Видимых проблем нет.

Nelloy, создавай через CreateUbersplat(x, 0, 'Adrt', 255, 255, 255, 255, true, true)

23

» WarCraft 3 / Рыцари

Похожие вопросы:

ответ
Да, реально. Для этого тебе понадобится сделать три вещи:
  1. Создать улучшение на основе улучшения для Headhunter.
  2. Создать способность на основе способности "Безумие" (именно она и изменяет Headhunter'а). Я имею в виду ту способность, в которой в данных нужно указать "тип войск".
  3. Добавить обоим юнитам эту способность. Также посмотри, чтобы в параметре "взаимосвязь эквивалентов" у твоего "рыцаря" стоял "паладин".
ответ
XGM Bot:
Похожие вопросы:

ответ
Q/A не для этого. Иди в свой блог.
ответ
Не совсем по теме написал, поэтому советую закрыть вопрос, пока не заминусили и найти стол заказов

ответ
Вроде Эльрат (или nikikin ли? Не помню) занимался конвертом моделей из homm5 в wc3. Попробуй договориться с ним, потому что из пятых героев крайне мало моделек переконвертировано. А из тех, что есть - мало нормальных, полноценно анимированных.
ответ
По картинке кость плаща не найти, всё информацию о названии костей можно найти например через mdlvis
ответ
добавляешь героя в этот список (дополнительно-игровые константы)
также, в инициализации карты должно быть это действие

23

» WarCraft 3 / Смена контроля юнитов

Похожие вопросы:

ответ
У анрайза вроде было, там был морф на мемхаке чисто без абилок, в его разделе должно быть. Найден ивент урона на предметы и разрушаемые обьекты.

Но без костыльно пока в паблике нету, портрет юнита хранится не в его структуре, нужно менять в бд данные о потртете или патчить прорисовку (что пока не сделал никто), так что тупо морфим да модель меняем.

23

» WarCraft 3 / Эффекты

Похожие вопросы:

ответ
У тебя в модели неправильно прописан путь к стандартной текстуре и ноль геосетов. Вот исправление, пробуй. Не пойдет - добавляй геосеты.
ответ
ledoed, добавь Death анимацию, тоже хоть на 0,1 сек.
ответ
nvc123, Я ее случайно удалил
ответ
FrigatPlay, скорее всего этот

23

» WarCraft 3 / Порталы и Юнит

Похожие вопросы:

ответ
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.

23

» WarCraft 3 / Душа Демона 2 (v1.2)

Ваш ресурс не прошёл автомодерацию. Пожалуйста, внесите исправления или ожидайте проверки модератором.
Причина
Число вставленных изображений: 0, а требуется не менее 3
Your resource has not passed automoderation. Please make corrections or wait for the moderator to check.
Reason
Count of inserted images is: 0, but required not less than 3
// CID3
23

» WarCraft 3 / Условие способность применяется на определеного типа юнита

Похожие вопросы:

ответ
Так Рёв - это способность без конкретной цели.
Можно ловить юнитов в радиусе и проверять у них наличие баффа от способности.

23

» WarCraft 3 / Горючая смесь

Похожие вопросы:

ответ
doleo82, я бы тебе предложил переложить скилл на полностью триггерную основу, тогда можно будет регулировать урон в момент его нанесения, в зависимости от каких-либо условий...
ответ
Тут вся инфа про типы урона и атаки от спелов.

23

» WarCraft 3 / Хеш таблица

Похожие вопросы:

ответ
Скачаю чистый варкрафт 1.26 попробую.
Рекомендую эти торренты.
Русская версия.
Английская версия.
ответ
Сохраняете на хэндл здания группу юнитов и дело в шляпе.
ответ
Black Soul:
ArhiMEN:
Я посмотрел, но возникла проблема. Я тупой и не могу написать также, но моменте добаления юнита в хеш таблицу. Я Save Handle of (Last created unit) as 0 of (а дальше я не нашёл, как добавть "Key(Constructed structure))" in Hash
и соответсвенно любое другое действие, где прописанно Key
Так не нужно ничего самому делать. Я прикрепил к тому сообщению карту. В ней я уже все сделал сам. Тебе осталось только скопировать триггеры оттуда в свою карту и заменить юнитов на тех, которые тебе нужны. Вот та карта:
Bergi_Bear, хеш-таблицы — это проще простого. Они не требуют множество действий для работы. Достаточно только понять принцип.
ответ
Стас Орлов, ну ты же как-то прикрепил группу к строению? Тут тоже самое, только строение к юниту.
call SaveUnitHandle(твой_хеш, GetHandleId(твой_юнит), твоё_число, твоё_строение)
При смерти узнавай строение.
set Host = LoadUnitHandle(твой_хеш, GetHandleId(умерший_юнит), твоё_число)
set Dead = LoadInteger(твой_хеш, GetHandleId(Host), другое_твоё_число)
call SaveInteger(твой_хеш, GetHandleId(Host), другое_твоё_число, Dead + 1)
// Не забываем чистить хеш.
call FlushChildHashtable(твой_хеш, GetHandleId(умерший_юнит))
Через некоторое время создавай новых юнитов.
set Group = LoadGroupHandle(твой_хеш, GetHandleId(твоё_строение), твоё_число_2)
set Dead = LoadInteger(твой_хеш, GetHandleId(твоё_строение), другое_твоё_число)
if Dead > 0 then
    call SaveInteger(твой_хеш, GetHandleId(твоё_строение), другое_твоё_число, 0)
    loop
        set Dead = Dead - 1
        set Unit = CreateUnit(...)
        call GroupAddUnit(Group, Unit)
        call SaveUnitHandle(твой_хеш, GetHandleId(Unit), твоё_число, твоё_строение)
        exitwhen Dead == 0
    endloop
endif
ответ
да, массив постоянно будет делать reAllocMem , если текущий размер окажется мельче, чем номер ячейки. Поэтому, если массив будет часто писаться с инкрементом, то выгоднее сперва прописать в последнее допустимое значение (8191 для 26 патча) типа MyArray[8191]=0
чисто чтобы его по памяти не возили туда-сюда каждые X значений (не смотрел, сколько изначально выделяется)
я вот у себя пофиксил такую же байду с таблицей строк. игра выделяет по 16 ячеек под строки, а у меня в доте они генерируются десятками в секунду. Каждую секунду игра делала ре-аллок памяти, а к середине игры там уже несколько мб таблица туда-сюда ездила. Сделал аллок в разы больше - и таблица всего 2 раза переедет за 40 минут игры максимум. Экономия тактов налицо.
Хеш-таблицы вообще не являются массивами, гугл в помощь, поэтому там об этом думать не стоит. Стоит думать лучше о том, чтобы первичных (родительских) ключей было меньше, чем вторичных, чисто исходя из того, что в этом случае перебор по таблице окажется быстрее

23

» WarCraft 3 / Апгрейд одного юнита до другого

Похожие вопросы:

ответ
отменять постройку юнита если технология уже ап
либо как сразу говорили через ап здания
где каждому твоему зданию будет соответствовать такое же здание но с дополнительным слотом
с продажей юнита открываешь доту и смотришь как там сделан спелл передать предметы у куры
он сделан как раз через продажу юнита
иначе никак
если не нравится пожалуйся богу об этом
или близардам
пусть выпустят новый патч специально для тебя

23

» WarCraft 3 / Syntax Error

Похожие вопросы:

ответ
Ничего не помогло, все та же ошибка, хоть и удалось указать папку с вариком.
ответ
~8gabriel8:
Как бы вообще не понял сути вопроса, но судя по этому комментарию, не получается удалить в РО карты синий объект из кампании. Это нормально, удалять надо в РО редактора кампании.
ответ
Надо mdlvis другой версии 1.39 насколько помню
ответ
у меня тоже так скачай версию 1.05

ответ
Проблема решена.Это было из-за модели. Углубляться в подробности не буду.

23

» WarCraft 3 / Музыкальный список

Похожие вопросы:

ответ
от бж избався
native StopMusic takes boolean fadeOut returns nothing
попробуй

23

» WarCraft 3 / Своя фоновая музыка

Похожие вопросы:

ответ
можно задать постоянную музыку при входе юнита в область.
А выключать её по событию "юнит покидает область".
Они же рядом события эти, чего усложнятьв сё.

23

» WarCraft 3 / Редактор ИИ и доп. рудник

Похожие вопросы:

ответ
PomaH:
Fraps:
Ну так в условия строительства - только лагерь 2(доп лагерь).
И можно ещё поставить при условии, что есть больше 1 ратуши (т.е. 2 лагерь 100% построен).
Мой бот единовременно владеет только 1 рудником. 2 ратуши это решение только для первого экспа, у меня на карте много рудников по небольшому количеству золота, комп должен возле каждого из них обустраивать оборону из вышек.
Только что проверил выставил строить у рудника №2 при условии что есть 2 ратуши, и он гад все равно стоит на главной базе,где рудник уже закончился.
Хм... То есть ты делал башни компу, поставил им место только во 2 лагере... Или у 2 рудника. И только при условии что у него есть 2 ратуши или заняты 2 рудника? Хм... Если он их строит, то он понимает что есть 2 рудника/ратуши, но не понимает где именно 2 рудник находится.

23

» WarCraft 3 / Изменение графики на SD

Похожие вопросы:

ответ
Он кладет это дело в память после preloader`а Можно код изменять напрямую в озу.

23

» WarCraft 3 / Отлавливать урон.

Похожие вопросы:

ответ
Кастовать способности даммиком и отлавливать урон от него.
ответ
всё как сказал Borodach
чтобы такой фигни не было надо запускать таймер на 0 секунд и им восстанавливать здоровье
также при получении урона надо давать скил на +100500 хп а таймером этот скил убирать и устанавливать нужное количество хп
подобных вопросов было дофига и готовых решений как следствие тоже дофига
я вроде тоже как то кидал свою систему обнуления урона
ответ
у меня тут дело в том что герои и так моментально ресаются, но отнимается жизни и они улетают на точку реса, а если сработает крест или реинкарнация юнит никуда не улетает а просто ждёт свой таймер и ресается...А что я собственно говоря туплю, у меня же смерти все триггерные как никак, просто в общем событии не отнимать жизнь если прокнул шанс, и не переносить на стартовую локу, а просто реснуть с задержкой. Спасибо за наводку парни 8gabriel8, pro100master, PT153, Absolute, KingMaximax, ssbbssc, , я понял, что мне нужно сделать
ответ
local DamageTrigger = CreateTrigger()
for i = 0, bj_MAX_PLAYER_SLOTS - 1 do
	TriggerRegisterPlayerUnitEvent(DamageTrigger, Player(i), EVENT_PLAYER_UNIT_DAMAGING) -- до вычета брони
	TriggerRegisterPlayerUnitEvent(DamageTrigger, Player(i), EVENT_PLAYER_UNIT_DAMAGED) -- после вычета брони
end
TriggerAddAction(DamageTrigger, function()
	local damage     = GetEventDamage() -- число урона
	local damageType = BlzGetEventDamageType() -- тип урона
	local target     = GetTriggerUnit() -- тот кто получил урон
	local caster     = GetEventDamageSource() -- тот кто нанёс урон
end)

23

» WarCraft 3 / Щит молний.

Похожие вопросы:

ответ
Можно сделать на основе заклинания Жар Преисподней, но без триггеров тут не обойтись.
ответ
Нет, допустимые цели прописаны в движке игры, делаем триггерный щит молний, благо это очень примитивная способность.
ответ
Еще раз, 'Aams' - щит от магии, он дает маг имун и только. 'Aam2' - нейтрализует урон от магии, при этом в цель можно применять заклинания, обрати внимание там другой бафф.
ответ
Активация либо канал, либо любой скил без цели, и дамми каст щита молний на этого героя.
Может быть получится с руной щита молний, но не факт, надо проверять
ответ
Можно сделать способность, которая убирает пни в некотором радиусе. Вот пример.

23

» WarCraft 3 / черные квадраты

Похожие вопросы:

ответ
Кажется я понял в чем дело. В общем, в карте монолит в импорте файлик LoadingScreen.mdx весит 3 кб, когда я его экспортирую на рабочий стол, а затем импортирую обратно в карту с рабочего стола, то он почему-то начинает весить не 3, а 1 кб, а Лоадскрин не показывается при загрузке карты. Но из-за чего это происходит я не знаю.
ответ
Неполадки исправил удалив папку UI. Графон от плойки исправился внутри игры в настройках - они сбросились.
ответ
8gabriel8, Я полагал, что чёрные - юниты/объекты внутри, а красные - юниты/объекты вокруг, вот собственно его задача была расстановка юнитов/объектов вокруг, но ты прав, нужно больше информации.
ответ
Сделал моделаль, у меня работает. Посмотри может ты что-то сделал не так.
ответ
Думаю ваш друг имеет урезаный варкрафт который подгружает только стандартные а все что новые не отобразит или зеленым

23

» WarCraft 3 / нерабочий триггер

Похожие вопросы:

ответ
Поинт - позиция юнита
Группа - создать группу
Выбрать всех юнитов вокруг героя, добавить в Группу
Инт - количество юнитов в Группе
От 1 до Инт
Цикл:
-Установить Таргет = рандом юнит из группы
-Создать Дамми в Поинт
-Приказать последнему созданному замедление(Альянс) на Таргет
-Добавить таймер последнему созданному 0.50
-Убрать Таргет из Группы
-Установить Таргет = нет б.е.
Очистить Группу
Удалить Поинт
call DestroyGroup(udg_Group)
set udg_Group = null
set udg_Point = null
ответ
тема абилки с зарядами. что-то код с мем хаком плодят разный
я эту фишку тестил. там по факту, значение меняется. Но визуально нет (не отрисовывается).
ответ
8gabriel8,
Если что, скидывай карту.
Беда в том, что эта карта из кампании, там всё очень много весит, потому не буду.
PT153,
ну как там дела?
Пока никак, ибо из-за сессии отложил редактор в сторону (собственно, даже сюда времени зайти не было, к сожалению)
Рад, что ты предложил выход, но я, боюсь, твой код себе никак не перенесу, ибо, как писал в вопросе, лишь на GUI могу работать.
8gabriel8,
мне кажется, проблема не в этом триггере, а в другом, который запускает триггеры и таймеры.
Триггер, запускающий таймер, вряд ли многое испортить может
Мдаааа... Я свою ошибку таки нашёл. Она была в самом тупом месте из всех возможных.
Я действительно не понимаю, это у меня голова не работает совершенно, или в редакторе какие-то баги
Цитата из вопроса, у меня не работает голова.
Так вот, это я дурак полный.
Запихнул обнуление своей переменной ВНИМАНИЕ! в триггер, который игрокам-компьютерам каждые 2 секунды обновляет ресурсы. А вместе с этим и обнуляет снова и снова мою переменную. Обнаружил ли я это через дебаги? Нет, просто от скуки и безнадёжности положения начал прокручивать и листать все триггеры.
Спасибо всем, кто пытался помочь, это было очень приятно) Мне жаль, что вы ломали голову и тратили время впустую по моей глупости и невнимательности.
ответ
quq_CCCP:
Ну хоть сделал бы нормальное условие, это кривое + плодит утечки, лучше использовать event units in range или Unit enters in region.
А какие утечки он плодит?
Решил эту проблему таким способом:
А именно: Если на слоте игрока есть игрок, то проверяются наличие его юнитов в зоне ворот, если же на слоте нет игрока, то условие игнорируется.
ответ
Так тебе вджасс нужен)


Вджасс это дополнение к обычному джассу, у себя ты можешь видеть строки объявления библиотеки, продвинутые комментарии и статические константные переменные


23

» WarCraft 3 / Нужно определить угол

Похожие вопросы:

ответ
Проверка угла между углом поворота юнита facing angle и угла между координатами. У бриста довольно примитивно сделана пассивка, опен доту глянь.
ответ
Всё, разобрался, вопрос снимаю)
ответ
Примерно так получилось
function Trig_CW_Cast_Actions takes nothing returns nothing
    local unit u    = LoadUnitHandle( какая_нибудь_хештаблица, GetHandleId(GetExpiredTimer()), 0 )
    local real x1   = GetUnitX( u ) //координаты кастера
    local real y1   = GetUnitY( u )
    local real from = 800
    local real a    = GetUnitFacing( u ) //угол поворота юнита
    //local real S = 90 //Ширина угла
    //local real angle = S/2 //Половина ширины угла

    set udg_Angle = a
    set udg_Caster = u
    //set udg_X = angle

    call BJDebugMsg("Угол поворота при касте: "+ R2S(a))

    call GroupEnumUnitsInRange(bj_lastCreatedGroup,x1,y1,from, Condition(function TZZ))
    //call ForGroup( bj_lastCreatedGroup, function TZZ )
    call GroupClear(bj_lastCreatedGroup)
    
    set u = null
endfunction

function TimerOff takes nothing returns nothing
    local timer t  = GetExpiredTimer()
    local timer t2 = LoadTimerHandle( какая_нибудь_хештаблица, GetHandleId(t), 0 )
    
    call FlushChildHashtable( какая_нибудь_хештаблица, GetHandleId(t)  )
    call FlushChildHashtable( какая_нибудь_хештаблица, GetHandleId(t2) )
    call DestroyTimer( t  )
    call DestroyTimer( t2 )
    
    set t  = null
    set t2 = null
endfunction

function Timer takes nothing returns nothing
    local timer t  = CreateTimer()
    local timer t2 = CreateTimer()
    local unit  u  = GetTriggerUnit()
    
    call SaveUnitHandle( какая_нибудь_хештаблица, GetHandleId( t ), 0, u )
    call TimerStart( t, /*Периодичность*/0.04, true, Trig_CW_Cast_Actions )
    
    call SaveTimerHandle( какая_нибудь_хештаблица, GetHandleId(t2), 0, t )
    call TimerStart( t2, /*Время которое будет работать таймер*/36, false, TimerOff )
    
    set t  = null
    set t2 = null
    set u  = null
endfunction

//===========================================================================
function InitTrig_Cast takes nothing returns nothing
    set gg_trg_Cast = CreateTrigger(  )
    set bj_lastCreatedGroup = CreateGroup()
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Cast, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_Cast, Condition( function Trig_CW_Cast_Conditions ) )
    call TriggerAddAction( gg_trg_Cast, function Timer )
endfunction
ответ
Неразрушаемые декорации очень геморройны, особенно отсутствие многих триггеров в разделе animation. Уж лучше браться за изменение через РО/макс. угол поворота или же макс. угол крена, а затем скрыть декорацию и показать только в нужное для игрока, время
ответ
Равно в варике округляет, а вот неравно - нет. У тебя и выводит 90.000, потому что R2S округляет до 3-го знака, а на самом деле там было что-то вроде 89.999999. 90 != 89.999999 в варике, потому условие прошло. Хочешь, чтобы не прошло, используй not (90 == angle). Тогда 89.999999 округлится до 90 и условие не пройдёт.

Либо используй то, что показал Скорп, тоже подойдёт.

23

» WarCraft 3 / Модель

Похожие вопросы:

ответ
Поиск по сайту, если не нашлось, сперва сюда:
Потом сюда:

В следующий раз за такие темы будут варны.
ответ
~8gabriel8:
Пересчитай границы, если не поможет, то приложи модель.
ответ
В 2 местах у разрушаемого объекта надо ставить модель импортированную.
ответ
Shakral, вот.